home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -serious- / workbench / fullbench-3.00 / src / compiler.h next >
C/C++ Source or Header  |  2000-02-28  |  1KB  |  72 lines

  1. #ifndef COMPILER_H
  2. #define COMPILER_H
  3.  
  4. /*
  5. ** first "exceptions"
  6. */
  7.  
  8. #if defined(__SASC)
  9.   #if !defined(_M68060)
  10.     #if !defined(_M68040)
  11.       #if !defined(_M68030) && !defined(_M68020)
  12.          #define mc68000
  13.       #else
  14.         #define mc68020
  15.       #endif
  16.     #else
  17.       #define mc68040
  18.     #endif
  19.   #else
  20.     #define mc68060
  21.   #endif
  22.   #if defined(_M68881)
  23.     #define __HAVE_68881__
  24.   #endif
  25.   #define ASM(arg) arg __asm
  26. #elif defined(__GNUC__)
  27.   #define REG(reg,arg) arg __asm(#reg)
  28.   #define LREG(reg,arg) register REG(reg,arg)
  29.   #define ALIAS(a,b) __asm(".stabs \"_" #a "\",11,0,0,0\n\t.stabs \"_" #b "\",1,0,0,0");
  30. #endif
  31.  
  32. /*
  33. ** then "common" ones
  34. */
  35.  
  36. #if !defined(ASM)
  37.   #define ASM(arg) arg
  38. #endif
  39. #if !defined(REG)
  40.   #define REG(reg,arg) register __##reg arg
  41. #endif
  42. #if !defined(LREG)
  43.   #define LREG(reg,arg) register arg
  44. #endif
  45. #if !defined(ALIAS)
  46.   #define ALIAS(a,b)
  47. #endif
  48. #if !defined(CONST)
  49.   #define CONST const
  50. #endif
  51. #if !defined(SAVEDS)
  52.   #define SAVEDS __saveds
  53. #endif
  54. #if !defined(INLINE)
  55.   #define INLINE static __inline
  56. #endif
  57. #if !defined(REGARGS)
  58.   #define REGARGS __regargs
  59. #endif
  60. #if !defined(STDARGS)
  61.   #define STDARGS __stdargs
  62. #endif
  63. #if defined(mc68020) || defined(mc68030) || defined(mc68040) || defined(mc68060)
  64.   #define PLAIN(x)
  65.   #define REQUIRES_68020(x) ((x & AFF_68020) == 0)
  66. #else
  67.   #define REQUIRES_68020(x) (0)
  68.   #define PLAIN(x) x
  69. #endif
  70.  
  71. #endif /* COMPILER_H */
  72.